package model

import (
	"gorm.io/gorm"
	"time"
)

type Chat struct {
	Id        uint           `gorm:"column:id;type:bigint(20) UNSIGNED;primaryKey;not null;" json:"id"`
	UserOne   uint           `gorm:"column:user_one;type:bigint(20);comment:用户一;not null;" json:"user_one"`                                    // 用户一
	UserTwo   uint           `gorm:"column:user_two;type:bigint(20);comment:用户二;not null;" json:"user_two"`                                    // 用户二
	CreatedAt time.Time      `gorm:"column:created_at;type:datetime(3);comment:创建时间;not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"` // 创建时间
	UpdatedAt time.Time      `gorm:"column:updated_at;type:datetime(3);comment:更新时间;not null;" json:"updated_at"`                              // 更新时间
	DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);comment:删除时间;default:NULL;" json:"deleted_at"`                          // 删除时间
}

func (c *Chat) TableName() string {
	return "chat"
}

type ToChat struct {
	Id        uint           `gorm:"column:id;type:bigint(20) UNSIGNED;primaryKey;not null;" json:"id"`
	ToUserId  uint           `gorm:"column:to_user_id;type:bigint(20);comment:接收信息用户id;not null;" json:"to_user_id"`                           // 接收信息用户id
	Send      string         `gorm:"column:send;type:varchar(255);comment:接收信息;not null;" json:"send"`                                         // 接收信息
	CreatedAt time.Time      `gorm:"column:created_at;type:datetime(3);comment:创建时间;not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"` // 创建时间
	UpdatedAt time.Time      `gorm:"column:updated_at;type:datetime(3);comment:更新时间;not null;default:CURRENT_TIMESTAMP(3);" json:"updated_at"` // 更新时间
	DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);comment:删除时间;default:NULL;" json:"deleted_at"`                          // 删除时间
}

func (tc *ToChat) TableName() string {
	return "toChat"
}
